A PET (Positron Emission Tomography) apparatus will be described as an example of the above nuclear medicine diagnostic apparatus, i.e. ECT (Emission Computed Tomography) apparatus. A PET apparatus is constructed to detect a plurality of photons generated by annihilation of positrons, and reconstruct a sectional image of a subject only when a plurality of detectors detect gamma rays at the same time (that is, only when coincidences are counted).
With this PET apparatus, quantitative measurement of various bodily functions can be made by serially measuring a process of drug concentration in tissues of interest after medicating the subject with a radioactive drug. Therefore, images obtained by the PET apparatus have functional information.
Specifically, to describe this by taking the human body as an example of the subject, a positron-emitting isotope (e.g. 15O, 18F, 11C or the like) is injected into the body of the subject, and gamma rays generating when the positrons released therefrom combine with electrons are detected. This detection of the gamma rays is carried out by a detector array consisting of numerous gamma-ray detectors arranged in a ring form circling around the body axis which is the longitudinal axis of the subject. And these are determined within a plane with a computer calculating by the same technique as usual X-ray CT (Computed Tomography), and an image of the subject is created.
Iterative approximation methods (see Nonpatent Document 1, for example) such as ML-EM (Maximum Likelihood Expectation Maximization), OSEM (Ordered Subset Expectation Maximization), RAMLA (Row-Action Maximum Likelihood Algorithm) and DRAMA (Dynamic Row-Action Maximum Likelihood Algorithm) are an indispensable technique for reconstructing images in nuclear medicine diagnostic apparatus like PET apparatus.
An occurrence of detecting gamma rays is called “event”. Data of coincidences counted is called “coincidence data”. Data not counted as coincidences is called “single event data”. Data for every event transmitted from the gantry of the PET apparatus is called “list data”. This list data has position information such as X-coordinate, Y-coordinate and Z-coordinate, time information and so on for every event, and such information is arranged in a time series.
On the other hand, this list data is converted into a histogram by carrying out histogram processing which integrates the list data based on time, to acquire histogram data. This histogram data is data integrated in a predetermined time. As this histogram data, there are sinograms in which the vertical axis represents directions of projection, and the horizontal axis represents pixels.
In recent years, an iterative approximation using this list data has also been performed (see Nonpatent Document 2, for example). However, in the case of a mode using list data (which is called “list mode”), data increases by an amount corresponding to the number of events, and its problem lies in the large amount of calculation. The iterative approximation using this list data involves a still larger amount of calculation.
So, a need for parallel calculations arises with the list mode. The parallel calculations carried out in many cases until now are MIMD (Multiple Instruction Multiple Data) type calculations such as MPI (Message Passing Interface). In the MIMD (Multiple Instruction Multiple Data) type calculations, a plurality of processors carry out parallel processes of a plurality of different data, which not only requires much memory area, but also requires numerous processors.
In recent years, on the other hand, research has been conducted on parallelization of forward projection processes and back projection processes which can also be said the core of image reconstruction, as parallel calculations of an iterative approximation using a GPU (Graphics Processing Unit) (see Nonpatent Document 3, for example). The parallel calculations using a GPU are classified under SIMD (Single Instruction Multiple Data) type calculations.
The SIMD (Single Instruction Multiple Data) type calculations can simultaneously process a plurality of data on one command, and are therefore suited for a process that performs the same arithmetic process for a large amount of calculation. However, when carrying out parallel calculations of the forward projection process and back projection process using the GPU, writing to the same memory (what is called “competition for memory”) may occur, and therefore a contrivance is needed for parallelization.
Nonpatent Document 3 uses sinograms, and Nonpatent Document 4 uses list data.
[Nonpatent Document 1]    Eiichi Tanaka, “Present Situation and Prospect of the Method of Reconstructing PET Images”, the Japanese Society of Radiological Technology magazine, Hamamatsu Photonics Kabushiki Kaisha, Vol. 62, No. 6, 771-777, (2006).
[Nonpatent Document 2]    A. Fukano, F. Nakayama, H. Kudo, “Performance evaluation of relaxed block-iterative algorithms for 3-D PET reconstruction,” IEEE Trans. Nucl. Sci., Vol. 5, pp. 2830-2834, 2004.
[Nonpatent Document 3]    H. Yang, M. Li, K. Koizumi, and H. Kudo, “Accelerating backprojections via CUDA architecture,” in Proceedings of the 9th International Meeting on Fully Three-Dimensional Image Reconstruction in Radiology and Nuclear Medicine, pp. 52-55, Lindau, Germany, July 2007.
[Nonpatent Document 4]    Guillem Pratx, Craig S. Levin et al, “Fast, Accurate and Shift-Varying Line Projections for Iterative Reconstruction Using the GPU”, IEEE Trans. Med. Imaging., Vol. 28, No 3, pp. 435-445, 2009.